#pragma once

using namespace System;

namespace SpikingNeuronLib
{
	// Thrown when the network has not been initialized
	public ref class UninitializedException : Exception
	{
	public:
		UninitializedException(String^ message);
	};

	// Thrown when the match scanner has been given no templates
	public ref class NoTemplatesException : Exception
	{
	public:
		NoTemplatesException(String^ message);
	};

	// Thrown when the match scanner has no data source to match against
	public ref class NoDataSourceException : Exception
	{
	public:
		NoDataSourceException(String^ message);
	};

	// Thrown when there is an error in file I/O
	public ref class FileIOException : Exception
	{
	public:
		FileIOException(String^ message, Exception^ inner);
	};
}